home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / X11 / extensions / shapestr.h < prev    next >
C/C++ Source or Header  |  2006-04-12  |  7KB  |  235 lines

  1. /************************************************************
  2.  
  3. Copyright 1989, 1998  The Open Group
  4.  
  5. Permission to use, copy, modify, distribute, and sell this software and its
  6. documentation for any purpose is hereby granted without fee, provided that
  7. the above copyright notice appear in all copies and that both that
  8. copyright notice and this permission notice appear in supporting
  9. documentation.
  10.  
  11. The above copyright notice and this permission notice shall be included in
  12. all copies or substantial portions of the Software.
  13.  
  14. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  15. IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  16. FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  17. OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  18. AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  19. CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  20.  
  21. Except as contained in this notice, the name of The Open Group shall not be
  22. used in advertising or otherwise to promote the sale, use or other dealings
  23. in this Software without prior written authorization from The Open Group.
  24.  
  25. ********************************************************/
  26.  
  27. /* $Xorg: shapestr.h,v 1.4 2001/02/09 02:03:24 xorgcvs Exp $ */
  28.  
  29. #ifndef _SHAPESTR_H_
  30. #define _SHAPESTR_H_
  31.  
  32. /*
  33.  * Protocol requests constants and alignment values
  34.  * These would really be in SHAPE's X.h and Xproto.h equivalents
  35.  */
  36.  
  37. #include "shape.h"
  38.  
  39. #define Window CARD32
  40. #define Time CARD32
  41.  
  42. #define SHAPENAME "SHAPE"
  43.  
  44. #define SHAPE_MAJOR_VERSION    1    /* current version numbers */
  45. #define SHAPE_MINOR_VERSION    0
  46.  
  47. typedef struct _ShapeQueryVersion {
  48.     CARD8    reqType;        /* always ShapeReqCode */
  49.     CARD8    shapeReqType;        /* always X_ShapeQueryVersion */
  50.     CARD16    length B16;
  51. } xShapeQueryVersionReq;
  52. #define sz_xShapeQueryVersionReq    4
  53.  
  54. typedef struct {
  55.     BYTE    type;            /* X_Reply */
  56.     CARD8    unused;            /* not used */
  57.     CARD16    sequenceNumber B16;
  58.     CARD32    length B32;
  59.     CARD16    majorVersion B16;    /* major version of SHAPE protocol */
  60.     CARD16    minorVersion B16;    /* minor version of SHAPE protocol */
  61.     CARD32    pad0 B32;
  62.     CARD32    pad1 B32;
  63.     CARD32    pad2 B32;
  64.     CARD32    pad3 B32;
  65.     CARD32    pad4 B32;
  66. } xShapeQueryVersionReply;
  67. #define sz_xShapeQueryVersionReply    32
  68.  
  69. typedef struct _ShapeRectangles {
  70.     CARD8    reqType;    /* always ShapeReqCode */
  71.     CARD8    shapeReqType;    /* always X_ShapeRectangles */
  72.     CARD16    length B16;
  73.     CARD8    op;        /* Set, ... */
  74.     CARD8    destKind;    /* ShapeBounding or ShapeClip */
  75.     CARD8    ordering;    /* UnSorted, YSorted, YXSorted, YXBanded */
  76.     CARD8    pad0;        /* not used */
  77.     Window    dest B32;
  78.     INT16    xOff B16;
  79.     INT16    yOff B16;
  80. } xShapeRectanglesReq;        /* followed by xRects */
  81. #define sz_xShapeRectanglesReq    16
  82.  
  83. typedef struct _ShapeMask {
  84.     CARD8    reqType;    /* always ShapeReqCode */
  85.     CARD8    shapeReqType;    /* always X_ShapeMask */
  86.     CARD16    length B16;
  87.  
  88.     CARD8    op;        /* Set, ... */
  89.     CARD8    destKind;    /* ShapeBounding or ShapeClip */
  90.     CARD16    junk B16;    /* not used */
  91.  
  92.     Window    dest B32;
  93.     INT16    xOff B16;
  94.     INT16    yOff B16;
  95.     CARD32    src B32;    /* 1 bit pixmap */
  96. } xShapeMaskReq;
  97. #define sz_xShapeMaskReq    20
  98.     
  99. typedef struct _ShapeCombine {
  100.     CARD8    reqType;    /* always ShapeReqCode */
  101.     CARD8    shapeReqType;    /* always X_ShapeCombine */
  102.     CARD16    length B16;
  103.     CARD8    op;        /* Set, ... */
  104.     CARD8    destKind;    /* ShapeBounding or ShapeClip */
  105.     CARD8    srcKind;    /* ShapeBounding or ShapeClip */
  106.     CARD8    junk;        /* not used */
  107.     Window    dest B32;
  108.     INT16    xOff B16;
  109.     INT16    yOff B16;
  110.     Window    src B32;
  111. } xShapeCombineReq;
  112. #define sz_xShapeCombineReq    20
  113.     
  114. typedef struct _ShapeOffset {
  115.     CARD8    reqType;    /* always ShapeReqCode */
  116.     CARD8    shapeReqType;    /* always X_ShapeOffset */
  117.     CARD16    length B16;
  118.     CARD8    destKind;    /* ShapeBounding or ShapeClip */
  119.     CARD8    junk1;        /* not used */
  120.     CARD16    junk2 B16;    /* not used */
  121.     Window    dest B32;
  122.     INT16    xOff B16;
  123.     INT16    yOff B16;
  124. } xShapeOffsetReq;
  125. #define sz_xShapeOffsetReq    16
  126.  
  127. typedef struct _ShapeQueryExtents {
  128.     CARD8    reqType;    /* always ShapeReqCode */
  129.     CARD8    shapeReqType;    /* always X_ShapeQueryExtents */
  130.     CARD16    length B16;
  131.     Window    window B32;
  132. } xShapeQueryExtentsReq;
  133. #define sz_xShapeQueryExtentsReq    8
  134.  
  135. typedef struct {
  136.     BYTE    type;            /* X_Reply */
  137.     CARD8    unused;            /* not used */
  138.     CARD16    sequenceNumber B16;
  139.     CARD32    length B32;        /* 0 */
  140.     CARD8    boundingShaped;        /* window has bounding shape */
  141.     CARD8    clipShaped;        /* window has clip shape */
  142.     CARD16    unused1 B16;
  143.     INT16    xBoundingShape B16;    /* extents of bounding shape */
  144.     INT16    yBoundingShape B16;
  145.     CARD16    widthBoundingShape B16;
  146.     CARD16    heightBoundingShape B16;
  147.     INT16    xClipShape B16;        /* extents of clip shape */
  148.     INT16    yClipShape B16;
  149.     CARD16    widthClipShape B16;
  150.     CARD16    heightClipShape B16;
  151.     CARD32    pad1 B32;
  152. } xShapeQueryExtentsReply;
  153. #define sz_xShapeQueryExtentsReply    32
  154.  
  155. typedef struct _ShapeSelectInput {
  156.     CARD8    reqType;    /* always ShapeReqCode */
  157.     CARD8    shapeReqType;    /* always X_ShapeSelectInput */
  158.     CARD16    length B16;
  159.     Window    window B32;
  160.     BYTE    enable;        /* xTrue -> send events */
  161.     BYTE    pad1;
  162.     CARD16    pad2 B16;
  163. } xShapeSelectInputReq;
  164. #define sz_xShapeSelectInputReq    12
  165.  
  166. typedef struct _ShapeNotify {
  167.     BYTE    type;        /* always eventBase + ShapeNotify */
  168.     BYTE    kind;        /* either ShapeBounding or ShapeClip */
  169.     CARD16    sequenceNumber B16;
  170.     Window    window B32;
  171.     INT16    x B16;
  172.     INT16    y B16;        /* extents of new shape */
  173.     CARD16    width B16;
  174.     CARD16    height B16;
  175.     Time    time B32;    /* time of change */
  176.     BYTE    shaped;        /* set when a shape actual exists */
  177.     BYTE    pad0;
  178.     CARD16    pad1 B16;
  179.     CARD32    pad2 B32;
  180.     CARD32    pad3 B32;
  181. } xShapeNotifyEvent;
  182. #define sz_xShapeNotifyEvent    32
  183.  
  184. typedef struct _ShapeInputSelected {
  185.     CARD8    reqType;    /* always ShapeReqCode */
  186.     CARD8    shapeReqType;    /* always X_ShapeInputSelected */
  187.     CARD16    length B16;
  188.     Window    window B32;
  189. } xShapeInputSelectedReq;
  190. #define sz_xShapeInputSelectedReq 8
  191.  
  192. typedef struct {
  193.     BYTE    type;            /* X_Reply */
  194.     CARD8    enabled;        /* current status */
  195.     CARD16    sequenceNumber B16;
  196.     CARD32    length B32;        /* 0 */
  197.     CARD32    pad1 B32;        /* unused */
  198.     CARD32    pad2 B32;
  199.     CARD32    pad3 B32;
  200.     CARD32    pad4 B32;
  201.     CARD32    pad5 B32;
  202.     CARD32    pad6 B32;
  203. } xShapeInputSelectedReply;
  204. #define sz_xShapeInputSelectedReply    32
  205.  
  206. typedef struct _ShapeGetRectangles {
  207.     CARD8   reqType;        /* always ShapeReqCode */
  208.     CARD8   shapeReqType;    /* always X_ShapeGetRectangles */
  209.     CARD16  length B16;
  210.     Window  window B32;
  211.     CARD8   kind;        /* ShapeBounding or ShapeClip */
  212.     CARD8   junk1;
  213.     CARD16  junk2 B16;
  214. } xShapeGetRectanglesReq;
  215. #define sz_xShapeGetRectanglesReq    12
  216.  
  217. typedef struct {
  218.     BYTE    type;            /* X_Reply */
  219.     CARD8    ordering;    /* UnSorted, YSorted, YXSorted, YXBanded */
  220.     CARD16    sequenceNumber B16;
  221.     CARD32    length B32;        /* not zero */
  222.     CARD32    nrects B32;        /* number of rectangles */
  223.     CARD32 pad1 B32;
  224.     CARD32 pad2 B32;
  225.     CARD32 pad3 B32;
  226.     CARD32 pad4 B32;
  227.     CARD32 pad5 B32;
  228. } xShapeGetRectanglesReply;        /* followed by xRectangles */
  229. #define sz_xShapeGetRectanglesReply 32
  230.  
  231. #undef Window
  232. #undef Time
  233.  
  234. #endif /* _SHAPESTR_H_ */
  235.